﻿using System;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Data.EntityClient;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;

using PowerSys.Model;

namespace PowerSys.DataAccess
{
    #region 上下文

    /// <summary>
    /// 没有元数据文档可用。
    /// </summary>
    public partial class XBase : ObjectContext
    {
        #region 构造函数

        /// <summary>
        /// 请使用应用程序配置文件的“XBase”部分中的连接字符串初始化新 XBase 对象。
        /// </summary>
        public XBase()
            : base("name=XBase", "XBase")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// 初始化新的 XBase 对象。
        /// </summary>
        public XBase(string connectionString)
            : base(connectionString, "XBase")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// 初始化新的 XBase 对象。
        /// </summary>
        public XBase(EntityConnection connection)
            : base(connection, "XBase")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        #endregion

        #region 分部方法

        partial void OnContextCreated();

        #endregion

        #region ObjectSet 属性

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_BizBase> X_BizBase
        {
            get
            {
                if ((_X_BizBase == null))
                {
                    _X_BizBase = base.CreateObjectSet<X_BizBase>("X_BizBase");
                }
                return _X_BizBase;
            }
        }
        private ObjectSet<X_BizBase> _X_BizBase;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Department> X_Department
        {
            get
            {
                if ((_X_Department == null))
                {
                    _X_Department = base.CreateObjectSet<X_Department>("X_Department");
                }
                return _X_Department;
            }
        }
        private ObjectSet<X_Department> _X_Department;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Function> X_Function
        {
            get
            {
                if ((_X_Function == null))
                {
                    _X_Function = base.CreateObjectSet<X_Function>("X_Function");
                }
                return _X_Function;
            }
        }
        private ObjectSet<X_Function> _X_Function;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_LogicUnit> X_LogicUnit
        {
            get
            {
                if ((_X_LogicUnit == null))
                {
                    _X_LogicUnit = base.CreateObjectSet<X_LogicUnit>("X_LogicUnit");
                }
                return _X_LogicUnit;
            }
        }
        private ObjectSet<X_LogicUnit> _X_LogicUnit;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Person> X_Person
        {
            get
            {
                if ((_X_Person == null))
                {
                    _X_Person = base.CreateObjectSet<X_Person>("X_Person");
                }
                return _X_Person;
            }
        }
        private ObjectSet<X_Person> _X_Person;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_PlatformType> X_PlatformType
        {
            get
            {
                if ((_X_PlatformType == null))
                {
                    _X_PlatformType = base.CreateObjectSet<X_PlatformType>("X_PlatformType");
                }
                return _X_PlatformType;
            }
        }
        private ObjectSet<X_PlatformType> _X_PlatformType;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Role> X_Role
        {
            get
            {
                if ((_X_Role == null))
                {
                    _X_Role = base.CreateObjectSet<X_Role>("X_Role");
                }
                return _X_Role;
            }
        }
        private ObjectSet<X_Role> _X_Role;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_RoleBiz> X_RoleBiz
        {
            get
            {
                if ((_X_RoleBiz == null))
                {
                    _X_RoleBiz = base.CreateObjectSet<X_RoleBiz>("X_RoleBiz");
                }
                return _X_RoleBiz;
            }
        }
        private ObjectSet<X_RoleBiz> _X_RoleBiz;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Serial> X_Serial
        {
            get
            {
                if ((_X_Serial == null))
                {
                    _X_Serial = base.CreateObjectSet<X_Serial>("X_Serial");
                }
                return _X_Serial;
            }
        }
        private ObjectSet<X_Serial> _X_Serial;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_SubSystem> X_SubSystem
        {
            get
            {
                if ((_X_SubSystem == null))
                {
                    _X_SubSystem = base.CreateObjectSet<X_SubSystem>("X_SubSystem");
                }
                return _X_SubSystem;
            }
        }
        private ObjectSet<X_SubSystem> _X_SubSystem;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_User> X_User
        {
            get
            {
                if ((_X_User == null))
                {
                    _X_User = base.CreateObjectSet<X_User>("X_User");
                }
                return _X_User;
            }
        }
        private ObjectSet<X_User> _X_User;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserBase> X_UserBase
        {
            get
            {
                if ((_X_UserBase == null))
                {
                    _X_UserBase = base.CreateObjectSet<X_UserBase>("X_UserBase");
                }
                return _X_UserBase;
            }
        }
        private ObjectSet<X_UserBase> _X_UserBase;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserCross> X_UserCross
        {
            get
            {
                if ((_X_UserCross == null))
                {
                    _X_UserCross = base.CreateObjectSet<X_UserCross>("X_UserCross");
                }
                return _X_UserCross;
            }
        }
        private ObjectSet<X_UserCross> _X_UserCross;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserLoginEX> X_UserLoginEX
        {
            get
            {
                if ((_X_UserLoginEX == null))
                {
                    _X_UserLoginEX = base.CreateObjectSet<X_UserLoginEX>("X_UserLoginEX");
                }
                return _X_UserLoginEX;
            }
        }
        private ObjectSet<X_UserLoginEX> _X_UserLoginEX;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserLoginExType> X_UserLoginExType
        {
            get
            {
                if ((_X_UserLoginExType == null))
                {
                    _X_UserLoginExType = base.CreateObjectSet<X_UserLoginExType>("X_UserLoginExType");
                }
                return _X_UserLoginExType;
            }
        }
        private ObjectSet<X_UserLoginExType> _X_UserLoginExType;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserRole> X_UserRole
        {
            get
            {
                if ((_X_UserRole == null))
                {
                    _X_UserRole = base.CreateObjectSet<X_UserRole>("X_UserRole");
                }
                return _X_UserRole;
            }
        }
        private ObjectSet<X_UserRole> _X_UserRole;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_UserSubSystem> X_UserSubSystem
        {
            get
            {
                if ((_X_UserSubSystem == null))
                {
                    _X_UserSubSystem = base.CreateObjectSet<X_UserSubSystem>("X_UserSubSystem");
                }
                return _X_UserSubSystem;
            }
        }
        private ObjectSet<X_UserSubSystem> _X_UserSubSystem;

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<X_Config> X_Config
        {
            get
            {
                if ((_X_Config == null))
                {
                    _X_Config = base.CreateObjectSet<X_Config>("X_Config");
                }
                return _X_Config;
            }
        }
        private ObjectSet<X_Config> _X_Config;

        #endregion
        #region AddTo 方法

        /// <summary>
        /// 用于向 X_BizBase EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_BizBase(X_BizBase x_BizBase)
        {
            base.AddObject("X_BizBase", x_BizBase);
        }

        /// <summary>
        /// 用于向 X_Department EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Department(X_Department x_Department)
        {
            base.AddObject("X_Department", x_Department);
        }

        /// <summary>
        /// 用于向 X_Function EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Function(X_Function x_Function)
        {
            base.AddObject("X_Function", x_Function);
        }

        /// <summary>
        /// 用于向 X_LogicUnit EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_LogicUnit(X_LogicUnit x_LogicUnit)
        {
            base.AddObject("X_LogicUnit", x_LogicUnit);
        }

        /// <summary>
        /// 用于向 X_Person EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Person(X_Person x_Person)
        {
            base.AddObject("X_Person", x_Person);
        }

        /// <summary>
        /// 用于向 X_PlatformType EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_PlatformType(X_PlatformType x_PlatformType)
        {
            base.AddObject("X_PlatformType", x_PlatformType);
        }

        /// <summary>
        /// 用于向 X_Role EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Role(X_Role x_Role)
        {
            base.AddObject("X_Role", x_Role);
        }

        /// <summary>
        /// 用于向 X_RoleBiz EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_RoleBiz(X_RoleBiz x_RoleBiz)
        {
            base.AddObject("X_RoleBiz", x_RoleBiz);
        }

        /// <summary>
        /// 用于向 X_Serial EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Serial(X_Serial x_Serial)
        {
            base.AddObject("X_Serial", x_Serial);
        }

        /// <summary>
        /// 用于向 X_SubSystem EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_SubSystem(X_SubSystem x_SubSystem)
        {
            base.AddObject("X_SubSystem", x_SubSystem);
        }

        /// <summary>
        /// 用于向 X_User EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_User(X_User x_User)
        {
            base.AddObject("X_User", x_User);
        }

        /// <summary>
        /// 用于向 X_UserBase EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserBase(X_UserBase x_UserBase)
        {
            base.AddObject("X_UserBase", x_UserBase);
        }

        /// <summary>
        /// 用于向 X_UserCross EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserCross(X_UserCross x_UserCross)
        {
            base.AddObject("X_UserCross", x_UserCross);
        }

        /// <summary>
        /// 用于向 X_UserLoginEX EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserLoginEX(X_UserLoginEX x_UserLoginEX)
        {
            base.AddObject("X_UserLoginEX", x_UserLoginEX);
        }

        /// <summary>
        /// 用于向 X_UserLoginExType EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserLoginExType(X_UserLoginExType x_UserLoginExType)
        {
            base.AddObject("X_UserLoginExType", x_UserLoginExType);
        }

        /// <summary>
        /// 用于向 X_UserRole EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserRole(X_UserRole x_UserRole)
        {
            base.AddObject("X_UserRole", x_UserRole);
        }

        /// <summary>
        /// 用于向 X_UserSubSystem EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_UserSubSystem(X_UserSubSystem x_UserSubSystem)
        {
            base.AddObject("X_UserSubSystem", x_UserSubSystem);
        }

        /// <summary>
        /// 用于向 X_Config EntitySet 添加新对象的方法，已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToX_Config(X_Config x_Config)
        {
            base.AddObject("X_Config", x_Config);
        }

        #endregion
        #region 函数导入

        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        /// <param name="prm_SerialCode">没有元数据文档可用。</param>
        /// <param name="prm_ResultCode">没有元数据文档可用。</param>
        /// <param name="prm_ResultText">没有元数据文档可用。</param>
        /// <param name="prm_Serial">没有元数据文档可用。</param>
        public int GetSerial(global::System.String prm_SerialCode, ObjectParameter prm_ResultCode, ObjectParameter prm_ResultText, ObjectParameter prm_Serial)
        {
            ObjectParameter prm_SerialCodeParameter;
            if (prm_SerialCode != null)
            {
                prm_SerialCodeParameter = new ObjectParameter("prm_SerialCode", prm_SerialCode);
            }
            else
            {
                prm_SerialCodeParameter = new ObjectParameter("prm_SerialCode", typeof(global::System.String));
            }

            return base.ExecuteFunction("GetSerial", prm_SerialCodeParameter, prm_ResultCode, prm_ResultText, prm_Serial);
        }

        #endregion
    }


    #endregion
}
